﻿// 10201. 「一本通 6.2 练习 4」Sherlock and His Girlfriend.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://loj.ac/p/10201

题目描述
原题来自：Codeforces Round #400 B.

Sherlock 有了一个新女友（这太不像他了！）。情人节到了，他想送给女友一些珠宝当做礼物。

他买了 n 件珠宝。第 i 件的价值是 i+1。那就是说，珠宝的价值分别为 2,3,4,\cdots ,n+1。

Watson 挑战 Sherlock，让他给这些珠宝染色，使得一件珠宝的价格是另一件的质因子时，两件珠宝的颜色不同。
并且，Watson 要求他最小化颜色的使用数。

请帮助 Sherlock 完成这个简单的任务。

输入格式
只有一行一个整数 n，表示珠宝件数。

输出格式
第一行一个整数 k，表示最少的染色数；
第二行 n 个整数，表示第 1 到第 n 件珠宝被染成的颜色。若有多种答案，输出任意一种。

3

2
1 1 2


4
2
2 1 1 2
因为 2 是 4 的一个质因子，因此第一件珠宝与第三件珠宝的颜色必须不同。

数据范围与提示
对于全部数据，1<= n<= 10^5。
*/
int main()
{
    std::cout << "Hello World!\n";
}

 